Building Parallel Applications using Design Patterns

نویسندگان

  • Dhrubajyoti Goswami
  • Ajit Singh
  • Bruno R. Preiss
چکیده

Parallel application design and development is a major area of interest in the domain of high performance scientific and industrial computing. In fact, parallel computing is becoming an integral part in several major application domains, for instance: space, medicine, cancer and genetic research, graphics and animation, image processing-to name a few. With the advent of fast interconnecting networks of workstations and PCs, it is now becoming increasingly possible to develop high-performance parallel applications using the combined computing powers of these networked-resources, at no extra cost. Contrast this to the situation until the early 90s, where parallel computing was largely confined only to special-purpose parallel computers, each priced high enough to be affordable only by major research/academic institutions. Consequently, high-speed networks and fast general-purpose computers are aiding towards the mainstream adoption of parallel computing at a much more affordable cost. However it must be mentioned here that parallel computing is not simple. The complexity arises due to the accumulation of many low-level parallelism related intricate details, on top of the sequential code. As an aid to handle some of these complexities, this research proposes a generic model for designing and developing parallel applications through the employment of reusable patterns in parallel computing. The concept of design patterns has been extensively studied and used in the context of object-oriented software design. Patterns in this context describe strategies for solving recurring design problems in systematic and general ways (Gamma et al., 1994). Similar ideas are being explored in other disciplines of computing as well. For instance, ACE (the Adaptive Communication Environment) is an object-oriented toolkit that implements various network-level patterns to simplify the development of concurrent, event driven communication software (Schmidt, 1994). In the parallel computing domain, design patterns describe recurring parallel computational problems of similar structure and communication

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Study People and Nature Connection in Built Environment to verify Aqa-Bozorg Mosque as Biophilic Design

In this era that new technology has affected human life, many research scientists believe that Biophilic design can improve human well-being.� Biophilic architecture can provide healthy spaces connected with nature and reduce stress and enhance longevity. Different researchers have identified and categorized different patterns in the Biophilic design. These patterns have a wide range of applica...

متن کامل

Architectural Skeletons: The Re-Usable Building-Blocks for Parallel Applications

Design pattern concepts are being used in the various disciplines of computing. In the parallel computing domain, design patterns specify recurring parallel computing problems and their solution strategies. The paper defines a generic (i.e. application and pattern independent) model for realizing and using parallel design patterns. The term architectural skeleton is coined to represent the appl...

متن کامل

Electronic Design Automation with Graphic Processors: A Survey

Today’s Integrated Circuit (IC) architects depend on Electronic Design Automation (EDA) software to conquer the overwhelming complexity of Very Large Scale Integrated (VLSI) designs. As the complexity of IC chips is still fast increasing, it is critical to maintain the momentum towards growing productivity of EDA tools. On the other hand, singlecore Central Processing Unit (CPU) performance is ...

متن کامل

User-deened Reductions for Eecient Communication in Data-parallel Languages

Data-parallel languages typically include reduction operations for specifying combining and communication. However, most languages limit reductions to predeened arithmetic and logical operators. User-deened reductions generalize reductions in two dimensions: they allow the programmer to specify complex combining operations (such as building a list of multiple values), and they extend naturally ...

متن کامل

Parallel Processing of Distributed Trees: a Pattern Language and Applications

Parallelism could be used to provide better performance to heavy applications, while design patterns could be used to facilitate their design. There is a wide range of applications that rely on large hierarchical structures, like trees. A set of design patterns are presented that could be used to model such applications in a parallel and distributed way. This paper also presents the modeling of...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2000